from flask import Flask
from flask_socketio import SocketIO

# from application.ws.test import init_test_websocket
from application.ws.ddk.ddk_load_box import init_ddk_load_box_websocket
from application.ws.ddk.ddk_three_calibration import init_ddk_calibration_websocket
from application.ws.plc import init_plc_websocket  


def init_ws(app: Flask):
    # 创建一个主SocketIO实例
    main_socketio = SocketIO(app, cors_allowed_origins="*", async_mode="gevent")

    # 导入并初始化WebSocket服务，使用同一个SocketIO实例


    # init_test_websocket(main_socketio)
    init_plc_websocket(main_socketio)
    # 丹迪克三相校验仪数据采集服务
    init_ddk_calibration_websocket(main_socketio)
     # 丹迪克三相负载箱数据采集服务
    init_ddk_load_box_websocket(main_socketio)

    # 将主SocketIO实例附加到app上
    app.socketio = main_socketio
